﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DOTNETGROUP.Entities;
using DOTNETGROUP.Data;
using System.Text;

public partial class Controls_ControlMenuTop : System.Web.UI.UserControl
{
    public bool checkFlg = false;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            hienThiLoaiTin();
            hienThiTinTuc();
        }
    }

    // Hiển thị submenu các loại tin cho menu tin tức
    public void hienThiLoaiTin()
    {
        // Khởi tạo
        int TotalRows = 0;
        string WhereClause = "1=1 and TrangThai=1";

        // Danh sách các loại tin
        TList<LoaiTinTuc> lstLoaiTin = DataRepository.LoaiTinTucProvider.GetPaged(WhereClause, "TenLoaiTinTuc ASC", 0, 4, out TotalRows);

        if (lstLoaiTin.Count > 0)
        {
            // Gán danh sách cho datalist
            dlsLoaiTin.DataSource = lstLoaiTin;
            dlsLoaiTin.DataBind();
        }
    }

    // Hiển thị các tin tức trong submenu tin tức
    public void hienThiTinTuc()
    {
        // Khởi tạo
        int TotalRows = 0;
        string WhereClause = "1=1 and TrangThai=1";            

        // Danh sách các tin tức
        TList<TinTuc> lstTinTuc = DataRepository.TinTucProvider.GetPaged(WhereClause, "NgayCapNhat DESC", 0, 12, out TotalRows);

        if (lstTinTuc.Count > 0)
        {
            // Trường hợp 1: tin <= 4
            if (lstTinTuc.Count < 5)
            {

                StringBuilder strBld = new StringBuilder(); 
                for (int i = 0; i < lstTinTuc.Count; i++)
                {
                    strBld.Append("<div class='item-wrapper'>");

                    strBld.Append("<ul>");
                    strBld.Append("<li>");

                    strBld.Append("<div class='new-wrapper'>");
                    strBld.Append("<div class='img-left'>");
                    strBld.Append("<img src='" + ResolveUrl("../Upload/AnhDaiDien/" + lstTinTuc[i].AnhDaiDien) + "'/>");
                    strBld.Append("</div>");
                    strBld.Append("<div class='text-right'>");
                    strBld.Append("<a href='" + ResolveUrl("../TinTuc/" + GetTieuDe(lstTinTuc[i].TieuDe) + "_" + lstTinTuc[i].Id + ".aspx") + "'>" + lstTinTuc[i].TieuDe + "</a><br/>");
                    strBld.Append("<p>" + formatString(lstTinTuc[i].TomTat,60) + "</p>");
                    strBld.Append("</div>");
                    strBld.Append("</div>");

                    strBld.Append("</li>");
                    strBld.Append("</ul>");

                    strBld.Append("</div>");
                }             

                ltrTinTuc.Text = strBld.ToString(); ;
            }
            // Trường hợp 2: 4 < tin <=8
            else if (lstTinTuc.Count < 9)
            {
                StringBuilder strBld = new StringBuilder();           
                
                // Lấy 4 tin đầu tiên
                strBld.Append("<div class='item-wrapper'>");
                for (int i = 0; i < 4; i++)
                {              

                    strBld.Append("<ul>");
                    strBld.Append("<li>");

                    strBld.Append("<div class='new-wrapper'>");
                    strBld.Append("<div class='img-left'>");
                    strBld.Append("<img src='" + ResolveUrl("../Upload/AnhDaiDien/" + lstTinTuc[i].AnhDaiDien) + "'/>");
                    strBld.Append("</div>");
                    strBld.Append("<div class='text-right'>");
                    strBld.Append("<a href='" + ResolveUrl("../TinTuc/" + GetTieuDe(lstTinTuc[i].TieuDe) + "_" + lstTinTuc[i].Id + ".aspx")+ "'>" + lstTinTuc[i].TieuDe + "</a><br/>");
                    strBld.Append("<p>" + formatString(lstTinTuc[i].TomTat,60) + "</p>");
                    strBld.Append("</div>");
                    strBld.Append("</div>");

                    strBld.Append("</li>");
                    strBld.Append("</ul>");
                    
                }
                strBld.Append("</div>");
                                
                // Lấy các tin còn lại
                strBld.Append("<div class='item-wrapper'>");
                for (int i = 4; i < lstTinTuc.Count; i++)
                {             
                    strBld.Append("<ul>");
                    strBld.Append("<li>");

                    strBld.Append("<div class='new-wrapper'>");
                    strBld.Append("<div class='img-left'>");
                    strBld.Append("<img src='" + ResolveUrl("../Upload/AnhDaiDien/" + lstTinTuc[i].AnhDaiDien) + "'/>");
                    strBld.Append("</div>");
                    strBld.Append("<div class='text-right'>");
                    strBld.Append("<a href='" + ResolveUrl("../TinTuc/" + GetTieuDe(lstTinTuc[i].TieuDe) + "_" + lstTinTuc[i].Id + ".aspx")+ "'>" + lstTinTuc[i].TieuDe + "</a><br/>");
                    strBld.Append("<p>" + formatString(lstTinTuc[i].TomTat,60) + "</p>");
                    strBld.Append("</div>");
                    strBld.Append("</div>");

                    strBld.Append("</li>");
                    strBld.Append("</ul>");                    
                }
                strBld.Append("</div>");

                ltrTinTuc.Text = strBld.ToString();

            }
            // Trường hợp 3: 8 < tin <=12
            else
            {

                StringBuilder strBld = new StringBuilder();

                // Lấy 4 tin đầu tiên
                strBld.Append("<div class='item-wrapper'>");
                for (int i = 0; i < 4; i++)
                {

                    strBld.Append("<ul>");
                    strBld.Append("<li>");

                    strBld.Append("<div class='new-wrapper'>");
                    strBld.Append("<div class='img-left'>");
                    strBld.Append("<img src='" + ResolveUrl("../Upload/AnhDaiDien/" + lstTinTuc[i].AnhDaiDien) + "'/>");
                    strBld.Append("</div>");
                    strBld.Append("<div class='text-right'>");
                    strBld.Append("<a href='" + ResolveUrl("../TinTuc/" + GetTieuDe(lstTinTuc[i].TieuDe) + "_" + lstTinTuc[i].Id + ".aspx")+ "'>" + lstTinTuc[i].TieuDe + "</a><br/>");
                    strBld.Append("<p>" + formatString(lstTinTuc[i].TomTat,60) + "</p>");
                    strBld.Append("</div>");
                    strBld.Append("</div>");

                    strBld.Append("</li>");
                    strBld.Append("</ul>");

                }
                strBld.Append("</div>");


                // Lấy 4 tin tiếp theo
                strBld.Append("<div class='item-wrapper'>");
                for (int i = 4; i < 9; i++)
                {
                    strBld.Append("<ul>");
                    strBld.Append("<li>");

                    strBld.Append("<div class='new-wrapper'>");
                    strBld.Append("<div class='img-left'>");
                    strBld.Append("<img src='" + ResolveUrl("../Upload/AnhDaiDien/" + lstTinTuc[i].AnhDaiDien) + "'/>");
                    strBld.Append("</div>");
                    strBld.Append("<div class='text-right'>");
                    strBld.Append("<a href='" + ResolveUrl("../TinTuc/" + GetTieuDe(lstTinTuc[i].TieuDe) + "_" + lstTinTuc[i].Id + ".aspx")+ "'>" + lstTinTuc[i].TieuDe + "</a><br/>");
                    strBld.Append("<p>" + formatString(lstTinTuc[i].TomTat,60) + "</p>");
                    strBld.Append("</div>");
                    strBld.Append("</div>");

                    strBld.Append("</li>");
                    strBld.Append("</ul>");
                }
                strBld.Append("</div>");

                // Lấy 4 tin còn lại
                strBld.Append("<div class='item-wrapper'>");
                for (int i = 4; i < lstTinTuc.Count; i++)
                {
                    strBld.Append("<ul>");
                    strBld.Append("<li>");

                    strBld.Append("<div class='new-wrapper'>");
                    strBld.Append("<div class='img-left'>");
                    strBld.Append("<img src='" + ResolveUrl("../Upload/AnhDaiDien/" + lstTinTuc[i].AnhDaiDien) + "'/>");
                    strBld.Append("</div>");
                    strBld.Append("<div class='text-right'>");
                    strBld.Append("<a href='" + ResolveUrl("../TinTuc/" + GetTieuDe(lstTinTuc[i].TieuDe) + "_" + lstTinTuc[i].Id + ".aspx") + "'>" + lstTinTuc[i].TieuDe + "</a><br/>");
                    strBld.Append("<p>" + formatString(lstTinTuc[i].TomTat,60) + "</p>");
                    strBld.Append("</div>");
                    strBld.Append("</div>");

                    strBld.Append("</li>");
                    strBld.Append("</ul>");
                }
                strBld.Append("</div>");
                
                ltrTinTuc.Text = strBld.ToString();
            }

        }
        
    }

    public string formatString(object obj, int n)
    {
        string kq = "";
        string str = obj.ToString();
        if (str.Length > n)
            kq = str.Substring(0, n + 1) + "...";
        else
            kq = str;

        return kq;
    }

    public string GetTieuDe(object Char)
    {
        string s = Char.ToString();
        return Common.ConvertToUnSign(s);
    }
}